home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / gt700.arc / GT700.DOC < prev    next >
Text File  |  1986-07-14  |  62KB  |  1,291 lines

  1.  
  2.                         Generic Terminal v7.00
  3.               Copyright (c) 1985, 1986: by P & M Software Co.
  4.  
  5.  
  6. GT is short for Generic Terminal, a communications program for IBM Personal
  7. Computers and compatible units.  P & M Software Co. reserves the COPYRIGHT to
  8. this program and all related materials.  The user is granted a license to use
  9. the program and is encouraged to make a donation if the program is found to be
  10. useful.  $35 is recommended.  Send the donations to:
  11.  
  12.                        P & M Software Company
  13.                        9350 Country Creek #30
  14.                        Houston, Texas 77036
  15.  
  16. For further information about the GT registration plan, please read the file
  17. called REGISTER.DOC, which comes with this program.  It outlines the benefits
  18. of full registration.
  19.  
  20. In addition, the user is granted the right to make unlimited copies of the
  21. program and to distribute these copies as he/she desires, except that
  22. P & M Software Co. reserves the sole right to distribute the program for
  23. PROFIT.  If the user distributes the product, the user may ask for a duplication
  24. charge, not to exceed $6 per copy.
  25.  
  26.  
  27. Features:
  28. ---------
  29.  
  30.    1.  ANSI Standard terminal emulation, compatible with many super-mini and
  31.        super-micro computers.
  32.  
  33.    2.  ANSI.SYS style color graphics, without the need of ANSI.SYS!
  34.  
  35.    3.  BASIC style PLAY for single voice music.
  36.  
  37.    4.  Multiple telephone directories, each with up to 999 entries.  Records
  38.        the date and time of last contact with each BBS.
  39.  
  40.    5.  Circular redialing queue.  Up to 125 numbers may be put into queue.
  41.  
  42.    6.  Capture Mode, limited only by the amount of disk space available.
  43.        A spill file is used, when the capture buffer is full.  The capture
  44.        buffer can be reviewed on-line, before saving to disk.
  45.  
  46.    7.  ASCII file transmission, using XON/XOFF protocol and/or line-by-line
  47.        pacing and/or inter-character delays.
  48.  
  49.    8.  Full control of all communication parameters.
  50.  
  51.    9.  40 macro keys, to store logon, passwords, etc.
  52.  
  53.   10.  Full printer support, using XON/XOFF flow control.
  54.  
  55.   11.  Xmodem/CRC protocol, using the CCITT polynomial: x^16 + x^12 + x^5 + 1.
  56.  
  57.   12.  Ymodem/CRC protocol, using the CCITT polynomial.  Ymodem/Checksum
  58.        is NOT supported, because of the increased risk of error in the longer
  59.        packets.  Ymodem uses 1024 bytes per packet vs. 128 bytes per packet in
  60.        Xmodem.  During transmission of a file with Ymodem, if over 5 error are
  61.        encountered, the transmission will fallback to normal length blocks.
  62.        This saves time, because of the high overhead encountered with Ymodem
  63.        retransmission of error blocks.
  64.  
  65.   13.  Telink/CRC batch file transfer protocol is supported.
  66.  
  67.   14.  Kermit file transfer protocol is supported.
  68.  
  69.   15.  DOS Shell.  Exit to DOS then return, GT stays in the background.
  70.  
  71.   16.  Interactive script language, to automate many repetitive tasks.
  72.  
  73.   17.  Optional LOG file.
  74.  
  75.   18.  Advanced "call progress" detection.  Detects BUSY, VOICE, NO DIAL TONE,
  76.        and more, with modems that support extended result codes,  such as the
  77.        USRobotics Courier 2400 Modem.
  78.  
  79.   19.  Use of the environment variable, GTPATH, to simplify use of the program
  80.        on a hard disk.
  81.  
  82.  
  83.  
  84. Installation Notes:
  85. -------------------
  86. Version 4.20 of GT introduces a new format for the phone directory.  For that
  87. reason, users of older versions of GT must run the program GT-UTIL to convert
  88. their old directories to the new format.  I think you will like the new format,
  89. it includes the date & time that you last called each number in the directory.
  90. When run, GT-UTIL will rename your original directory to OLD_GT.DIR, so that
  91. you will retain a copy of it for emergency use.
  92.  
  93. The program comes with two executable files, the .COM, which is the main
  94. program, and the .000, which contains the overlays.  The overlays, the .000
  95. file, must be available to the program at all times.  The main program, the
  96. .COM, may be removed after the program has begun.  There are two methods
  97. available to have GT locate the required overlays and configuration files.
  98. The 1st, possibly the easiest to use, is to start GT in the directory that
  99. contains all of these files.  The program detects the default directory and
  100. will refer back to it when needed, even after the user has changed directories.
  101. The 2nd method is to use an Environment variable, GTPATH, to point to the
  102. directory containing GT's files.  This method is more difficult to setup, but
  103. is much more flexible once the program is properly installed.  The phone
  104. directory may be placed on any drive and directory, the path to the phone
  105. directory is set into the configuration via the ALT-I command.
  106.  
  107.     Example of Environment Usage
  108.     ----------------------------
  109.     Assuming that all the GT files have been placed in a directory named
  110.     \GT on drive C.  Then in your AUTOEXEC.BAT place the following:
  111.  
  112.               set PATH=C:\GT
  113.               set GTPATH=C:\GT
  114.  
  115.     Of course, the PATH variable may have additional files listed, using
  116.     the semi-colon to separate the names.  The GTPATH variable must have
  117.     only 1 parameter, the home directory for all the GT files, except the
  118.     Phone Directory, which may be placed anywhere, as indicated above.
  119.  
  120. Distributed with the program is a file called GT.BAT.  It can be used to
  121. install and run the program from a RAM disk.  To use GT.BAT, place the program
  122. disk in one of the floppy drives and make it the default, then enter the
  123. following command:
  124.  
  125.    GT  d1  d2           Where: "d1" is the drive with the program
  126.                                disk and "d2" is the RAM drive.
  127.                                Example:  "GT  A: C:"
  128.  
  129. If the program is used without a modem, using a direct cable connection, all
  130. the dialing and modem control strings in the config file should be set to
  131. empty strings, for example the line with the MI parameter should read: "MI=".
  132. Also, when using a direct cable connection, the FC parameter should be set
  133. to TRUE.
  134.  
  135. The program has been written to use Hayes compatible commands with the modem.
  136. Because the program controls the modem via the DTR signal, Data Terminal Ready,
  137. the cable between the computer and modem must provide a connection for pin 20
  138. and the modem should have the internal switches set so that the DTR signal is
  139. monitored.
  140.  
  141. The program uses the Carrier Detect signal from the modem to detect when a call
  142. has been connected and when to stop redialing, for this reason the modem should
  143. have it's switches set so that the Carrier Detect signal is ONLY sent when
  144. present on the phone line.  If this is not possible, set the FC= parameter, to
  145. TRUE, however when Carrier Detect is "forced", it is not possible to do
  146. "redial" or "circular dial", because the program would never know when to stop!
  147.  
  148. Support For USRobotics Courier 2400
  149. -----------------------------------
  150. Here are the proper switch settings for the Courier modem:
  151.  
  152.   Switch     Setting
  153.   ------     -------
  154.  
  155. *    1         UP, Normal DTR.  This is not the factory setting,
  156.                so it MUST be changed by the user.
  157.  
  158.      2         DOWN, Numeric Result Codes.  This is the preferred
  159.                setting for use with terminal programs, but is not
  160.                absolutely required.
  161.  
  162.      3         DOWN, Result Codes are displayed.
  163.  
  164.      4         DOWN, No Command Echo.  Again, this is preferred, but
  165.                not required.
  166.  
  167.      5         Doesn't matter to GT.
  168.  
  169. *    6         UP, Normal Carrier is sent to computer when on-line
  170.                only.  This is not the factory setting, so it MUST
  171.                be changed by the user.
  172.  
  173.      7         Doesn't matter to GT.
  174.  
  175.      8         DOWN, Use Normal AT commands.
  176.  
  177.      9         Doesn't matter to GT.
  178.  
  179.     10         Doesn't matter to GT.
  180.  
  181.  Quad Switch   UP, Use Normal Pin Assignments.
  182.  
  183. *IMPORTANT: These switches MUST be set properly if the program is to
  184.             have any chance to function in a normal manner.
  185.  
  186. Modem Result Codes
  187. ------------------
  188. The proper setting of the modem result codes is important, if call progress
  189. detection is to work properly.  Again, one must use the ALT-I command, then
  190. select the modem result codes option.  The program will present a list of
  191. possible results and the corresponding codes that the modem uses to signal
  192. each result.  You may change any or all of the result codes, each code may
  193. be any string of characters, up to 12 positions long.  The default codes are
  194. set to the numeric codes supported by the USRobotics Courier 2400 Modem, if
  195. your modem does not signal all of the possible results, DO NOT DELETE the
  196. code for results that are not supported, instead change them to some
  197. impossible value, for example: "N/A".  In this way, the program will not
  198. mistake some extraneous information as a code.
  199.  
  200.  
  201.  
  202. Quick Introduction
  203. ------------------
  204. Most of the features of the program are self-documenting, however for the sake
  205. of the novice user, some explanation is necessary.
  206.  
  207. The program is distributed in .COM and .000, which can be executed immediately
  208. by placing your disk into drive A, changing the default drive to A, if not
  209. already, then typing the name of the program, GT700.
  210.  
  211. Once the user has successfully executed the program, the copyright notice will
  212. appear, and the user will be asked if music is wanted, strike a "y" if you want
  213. music, if not, then strike any other key.  The on-line screen will then appear.
  214. At the bottom of the on-line screen appears a reminder of the most frequently
  215. used commands.  These commands may be selected by depressing and holding the
  216. ALT key along with the indicated ALPHA key.  If the user needs a command that
  217. does not appear on the screen, a complete list of available commands can be
  218. obtained by selecting ALT-H.  Commands may be selected while the HELP screen is
  219. still on screen, so that the user does not need to call up the HELP screen
  220. repetitively.
  221.  
  222. There are a number of status indicators that can appear in line 25 of the
  223. screen:
  224.     * .... Capture mode is on.
  225.     ^ .... Caps Lock is on. The ^ will show as the
  226.               Up-Arrow on the screen.
  227.     # .... Num Lock is on.
  228.     Q .... Beeps are off.
  229.     C .... Carrier is present.  When carrier is lost, an
  230.               alarm sounds.
  231.     H .... Half-duplex is on.
  232.  
  233.  
  234.  
  235. Here is a brief description of each command:
  236. --------------------------------------------
  237. ALT-A   Transmit a file using the ASCII XON/XOFF protocol, where the
  238.         DC1 character is used for XON and the DC3 character is used
  239.         for XOFF.  If the Pacing Character is set, then line-by-line
  240.         pacing is also done, i.e. the program will wait for the pacing
  241.         character to echo from the host at the end of each line, thereby
  242.         insuring that an overrun error will not occur.  The default is
  243.         no line-by-line pacing.  Also associated with the ASCII file
  244.         transmit is the End-of-Line Mode, it determines what characters
  245.         are sent to the host at the end of each line.  The normal default
  246.         for IBM compatibile hosts is CRLF, i.e. a Return and a Linefeed,
  247.         however some hosts, for example UNIX, require just LF, and others
  248.         may require only a CR.  These are the three options for End-of-line
  249.         Mode.   Also, the user may specify an inter-character delay, in
  250.         milleseconds, the default delay is set to 0.  The Pacing Character,
  251.         the End-of-Line Mode and the inter-character delay, are options in
  252.         the configuration file.  Use the ALT-I command to alter the
  253.         configuration.
  254.  
  255. ALT-B   Send BREAK signal to host computer.  The serial port is forced
  256.         into the spacing state.
  257.  
  258. ALT-C   Turn capture mode ON, if it is OFF, or OFF if it is ON.  When this
  259.         mode is turned OFF, either thru the ALT-C command or with the ALT-X
  260.         command, the user will be prompted for a file name wherein to save
  261.         the contents of the capture buffer.  During capture mode operations,
  262.         a "*" will appear in the lower left corner of the screen.  Capture
  263.         mode is useful for recording complete sessions for review later, so
  264.         you don't read so much on those long distance phone calls.
  265.  
  266.         When the in-memory capture buffer is full, the program will dump
  267.         to a spill file on disk, the file name used will be $$SPILL.  The
  268.         operation of the spill file is automatic, but if the program is
  269.         interrupted for some reason, the file may remain cataloged.
  270.         Therefore, the user should remove this file when required.  It
  271.         will be placed in the directory with the overlay file, the .000 file.
  272.  
  273. ALT-8   Review the in-memory portion of the capture buffer.  The PgUp, PgDn,
  274.         Home and End keys may be used to move around in the buffer.  PgUp
  275.         and PgDn move thru the buffer a page at a time, the Home and End
  276.         keys move you to the start or end of the buffer.  Use the Esc key
  277.         to quit viewing the buffer.
  278.  
  279. ALT-D   Modem dialing and phone directory management.  The phone directory
  280.         may have up to 999 entries, if there is enough disk space.  The
  281.         directory screen will automatically disappear whenever carrier is
  282.         detected, unless the Forced Carrier config param is "TRUE".
  283.  
  284. ALT-E   Turn Half Duplex ON if it is OFF, or OFF if it is on.  If Half Duplex
  285.         is ON, then a "H" will appear in the lower right corner of the screen
  286.         to remind the user.  Half duplex is used when the host does not echo
  287.         what you type.
  288.  
  289. ALT-F   Fix time.  That is, mark the current time, so that you can measure
  290.         time used, with the ALT-U command.
  291.  
  292. ALT-G   Redial the last number dialed.  This command will loop continuously
  293.         until carrier is signaled by the modem, the Forced Carrier config
  294.         param is "TRUE", or the user presses a key.
  295.  
  296. ALT-H   Produces the HELP screen for the user.
  297.  
  298. ALT-I   Reconfigure the program defaults.  The parameters listed below for
  299.         the .CNF file can be changed via this command.
  300.  
  301. ALT-J   Display version number of GT in use.
  302.  
  303. ALT-K   Kill a file.  Delete a file from the disk.
  304.  
  305. ALT-L   Display disk directory, under a user supplied mask.  For example,
  306.         to see all files on the logged drive and current directory, the
  307.         user would enter the mask "*.*", when prompted.  Or see just the files
  308.         with an extension of .PAS by entering the mask "*.pas", when prompted.
  309.  
  310. ALT-M   Macro key management.  Allows the user to define the contents of the
  311.         function keys F1 thru F10, and all combinations of the function keys
  312.         and shift, Ctrl or Alt.  This gives the user 40 different macro keys.
  313.  
  314. ALT-N   Allows the user to change to a new logged drive and/or new working
  315.         directory.
  316.  
  317. ALT-O   Sort the dialing directory into ascending sequence by name, number
  318.         or date.  Performs a IN MEMORY sort, so there must be enough memory
  319.         to hold all the phone directory entries.
  320.  
  321. ALT-P   Print a file.
  322.  
  323. ALT-Q   Hang-up the phone line, put the modem "ON HOOK".  Drops the DTR
  324.         signal to the modem for 3 seconds and resets the UART, and sends the
  325.         modem initialization string to the modem (see the config table below).
  326.  
  327. ALT-R   Receive a file using Xmodem or Ymodem protocol.  Whichever protocol,
  328.         selected by the host, will be used.  Communications parameters are
  329.         automatically changed to/from 8 bit no parity.  CRC is used
  330.         automatically, if the remote system supports it.  In addition, the
  331.         TELINK batch protocol may be used.  In order to invoke the TELINK
  332.         protocol, the user must first prepare the Host cpu to use the TELINK
  333.         protocol, then after the ALT-R key has been pressed and GT has
  334.         requested the filename, the user should respond with:  [d:\path\]*
  335.         the [] indicates that the drive specifier and path are optional.
  336.         Under the TELINK protocol, the filenames will be supplied by the
  337.         Host cpu.  Using TELINK preserves the exact file size and creation
  338.         date.  If the carrier signal from the host is lost during file
  339.         transfer, the alarm will sound and the "Carrier Loss" window will
  340.         open.  The alarm will continue to sound until the user strikes a
  341.         key.  Use ALT-4 for Kermit file reception.
  342.  
  343. ALT-S   Switch communication parameters.  The program starts with these
  344.         default values: 1200 baud, No Parity, 8 data bits, 1 stop bit.
  345.         Permissible values for the baud rate are: 300, 1200, 2400, 4800,
  346.         or 9600.
  347.  
  348. ALT-T   Transmit a file using Xmodem protocol.  Communications parameters
  349.         are automatically changed to/from 8 bit no parity.  CRC is used,
  350.         if the remote system requests it.  Also, the TELINK protocol is
  351.         used if the remote system supports it.  Using TELINK, it is possible
  352.         to transfer up to 30 files at one time.  If the user wishes to
  353.         perform a batch transfer, he must specify the names of the files
  354.         to transfer using the DOS wildcard notation; for example, to
  355.         transfer all files with the .PAS extension, when asked for the
  356.         filename, respond with "*.PAS".  A drive and path may optionally
  357.         be specified with the filename.  The first 30 files found matching
  358.         the criterion will be transmitted.  If the carrier signal from the
  359.         host is lost during file transfer, the alarm will sound and the
  360.         "Carrier Loss" window will open.  The alarm will continue to sound
  361.         until the user strikes a key.  Use ALT-5 for Kermit file transmission.
  362.  
  363. ALT-7   This command is similar to the ALT-T command above, however the
  364.         Ymodem protocol is used.  It is not possible to use Ymodem
  365.         automatically for transmission, because the protocol provides no
  366.         means for the host to signal the capability.  So, GT will use Ymodem
  367.         to transmit files only when ALT-7 has been selected.
  368.  
  369. ALT-U   Used, time.  Report the time used since the the last ALT-F command
  370.         and the last dial of the phone or the start of the program,
  371.         whichever occured last.  Total elapsed time in hours, minutes and
  372.         seconds, is reported.
  373.  
  374. ALT-V   View the contents of a file, uses the same style as MORE, the DOS
  375.         utility.  Use the "End" key to stop the command.
  376.  
  377. ALT-W   Clear the screen.
  378.  
  379. ALT-X   Terminate and return to DOS.  If other windows are open on the screen,
  380.         this command will be deferred until all windows have been closed.
  381.  
  382. ALT-Y   Copy a file.  This procedure will copy any unprotected file.
  383.         Filenames must be fully specified.  No wildcards are allowed, ONLY
  384.         the current drive and directory need not be specified.
  385.  
  386. ALT-Z   Toggle monitor mode on/off.  In monitor mode, all codes are shown
  387.         so that the user may see exactly what is being sent by the host
  388.         computer.  Control codes are shown with the ^ symbol preceding,
  389.         i.e. ^[ is the ESC code, ^X is the CAN code, etc.  You must refer
  390.         to an ASCII code chart for a complete list.
  391.  
  392. ALT-1   DOS Shell port.  GT stays in the background, while you exit to DOS.
  393.         When you want to return to GT, just issue the "EXIT" command and
  394.         you will return to GT.  Note: you need a lot of memory to do this,
  395.         more than 256k is recommended.
  396.  
  397. ALT-2   Dump screen to the file "$$SCREEN".  If the file already exists,
  398.         then the screen is appended to the file, otherwise the file is
  399.         created and the screen written to it.
  400.  
  401. ALT-3   Execute a script.  Scripts may also be executed by placing the
  402.         name of the script file on the DOS command line that starts GT.
  403.         For example: "A>GT700  filename", would begin GT and cause the
  404.         script stored in filename to begin automatically.  Refer to the
  405.         description of the script language at the end of this document.
  406.  
  407. ALT-4   Kermit file reception.  Batches of files may be received.
  408.  
  409. ALT-5   Kermit file transmission.  Batches of files, up to 30, may be
  410.         transmitted, use the * and ? wildcard notation to designate the
  411.         batch to send.
  412.  
  413. ALT-6   Begins execution of the "circular dialing" queue.  All "marked"
  414.         entries in the phone directory will be dialed in-turn, until a
  415.         connection is made or the user stops the execution by entering
  416.         a 'Q'.  Individual entries may be canceled by pressing 'C', while
  417.         the entry is being processed on the screen.  The user may
  418.         immediately proceed to the next entry in the queue by pressing
  419.         the 'N'.  Use the 'G' command on the Phone Directory screen to
  420.         "mark" entries for the circular dialing queue.  See explanation of
  421.         the Phone Directory commands below.
  422.  
  423. ALT-9   Toggle the beeps ON/OFF.  Go into quiet mode or back to normal mode.
  424.         Does not change the playing of music, just the bell.
  425.  
  426. ALT-0   Make a manual entry in the Log file.  Log file must be open before
  427.         you can make entries.  Open the Log file by setting the Log File
  428.         flag = TRUE on the config page.  See the ALT-I command.
  429.  
  430. ^PrtSc  Toggle the printer ON/OFF.  Hold the "Ctrl" key, then press the
  431.         "PrtSc" key.  Use "Fn/Echo" on the PCjr.
  432.  
  433.  
  434.  
  435. The Phone Directory has a list of commands also:
  436. ------------------------------------------------------------
  437.    A = Add an entry to the dialing directory.
  438.    C = Change an entry in the dialing directory.
  439.    K = Kill an entry in the dialing directory, a sort of the directory is
  440.        recommended after this option or the Add option.
  441.    L = Locate a BBS by name.  You may specify partial names and the search is
  442.        not sensitive to capital letters.  The search begins with the current
  443.        directory screen and proceeds to the end of the directory.
  444.    N = Find the next occurance of the last BBS requested in the 'L' command,
  445.        above.  The search begins where the previous search left off and finds
  446.        the next match, if any.
  447.    M = Dial a number not in the directory.  The user is prompted for new
  448.        communications parameters.
  449.    D = Dials a number from the directory, and automatically changes the
  450.        communications parameters.  To indicate that the phone number needs
  451.        to be prefixed, put a "-" in front of the directory number, for example
  452.        "-74", would prefix and dial the 74th number in the directory.
  453.    G = Mark a BBS for entry into the "circular" dialing queue.  If already
  454.        marked, the mark will be removed.  So, this command acts as a toggle
  455.        between the marked and unmarked state.
  456.    E = Exchange the current directory with another one.  For example, one
  457.        could have two directories, 1 for local BBS's and 1 for long distance
  458.        calls.  Don't give any path information, when entering the filename
  459.        this option calls for - ALL phone directories are located using the
  460.        "Directory PATH" from the configuration file.  Use the ALT-I command
  461.        to set this path as required.
  462. PgDn = Display the next page of the directory.
  463. PgUp = Display the previous page of the directory.
  464. Home = Go to the first page of the directory.
  465.  End = Go to the last page of the directory.
  466.    Q = Quit, returns to the online screen.
  467.  
  468.  
  469. When editing Phone Directory entries or Macro Key definitions, the program
  470. responds to the following editing keys as indicated:
  471.  
  472.   Backspace .... Delete character to the left of cursor.
  473.   Del .......... Delete character under the cursor.
  474.   End .......... Move the cursor to the end of the field.
  475.   ^End ......... Erase from the current cursor position to the end of the
  476.                  field.  The ^ symbol indicates that you must hold the "Ctrl"
  477.                  key, then press the "End" key.
  478.   Home ......... Move the cursor to the start of the field.
  479.   Ins .......... Toggle between insert and overwrite mode.  When in insert mode
  480.                  the cursor becomes fat.
  481.   Left Arrow ... Move the cursor to the left 1 position.
  482.   Right Arrow .. Move the cursor to the right 1 position.
  483.   Return ....... Finish the current field and move to the next.
  484.  
  485.  
  486.  
  487. There are several files associated with the system.
  488. Here is a description of each:
  489.  
  490. GT700.COM ...... Absolute program.  The one to execute.
  491. GT700.000 ...... Overlays, must accompany the .COM file.
  492. GT700.DOC ...... This file.  The documentation.
  493. GT.DIR ......... The phone directory, data file.
  494. GT.KEY ......... Macro key definitions, data file.
  495. GT.CNF ......... The configuration, data file.
  496. GT.BAT ......... Sample runstream to execute GT from ramdisk.
  497. GT.LOG ......... Log file.  Note: don't edit the log file with
  498.                  an editor which places a CPM EOF (Hex 1A) at the
  499.                  end of a file.   GT is unable to append log entries
  500.                  to a file which ends with the CPM EOF - a quirk of
  501.                  Turbo PASCAL.
  502. GT-UTIL.COM .... Program to convert old directories, prior to v4.20,
  503.                  to new format, produce printed listing of phone directory,
  504.                  import text list of BBS's to GT format directory.
  505. GT-UTIL.PAS .... Source code for GT-UTIL.COM.
  506. GT-UTIL.DOC .... Short doc file for GT-UTIL.
  507. SCRIPT ......... A sample script for use with GT.
  508. REGISTER.DOC ... Description of the registration plan.
  509. FORM.DOC ....... A registration form, ready to be filled in and printed.
  510.  
  511.  
  512. In position 1-3 of each record in the configuration file is a code to identify
  513. a parameter. After the "=", the value of the parameter appears. The codes are:
  514.  
  515.   CM= COM port number, 1 or 2.
  516.   ST= Number of Stopbits.
  517.   DA= Number of Databits.
  518.   PA= Parity. 0=None,1=Even,2=Odd
  519.   BA= Baud Rate. 300,1200,2400,4800, or 9600.
  520.   WA= Number of ticks in 1/3 of a second, at 4.77 MHz clock.  The value
  521.       should be larger if the clock in your CPU is faster.  The units for
  522.       the value is milleseconds, and it is used for waiting, hence the WA=.
  523.       For example, if your CPU runs a twice the 4.77 MHz rate, then the
  524.       value of WA= should be 666.
  525.   PR= Dialing Pre String.
  526.   PO= Dialing Post String, use the | character where a Return is needed.
  527.   PF= Phone number prefix.  This item is used when going thru a PBX or when
  528.       using an alternate long distance carrier.  For example this field would
  529.       contain "9," for use with a PBX, to get an outside line (don't include
  530.       the " characters!).
  531.   MI= Modem initialization string.  The default value, AT E0 V0 S0=0|, will
  532.       cause the modem not to answer the phone.  Again, use the | character
  533.       where a Return is needed.
  534.   SY= Modem command string to turn the speaker ON.
  535.   SN= Modem command string to turn the speaker OFF.
  536.   RT= After carrier timeout has occured, this is the time between redials,
  537.       in seconds.
  538.   FC= Forced Carrier.  Some modems force carrier even when a call is not in
  539.       progress, if this is the case, set this parameter to TRUE.
  540.   CT= Timeout time for carrier to appear, in seconds.
  541.   DP= Directory PATH.  This variable tells the program where to look for the
  542.       phone directory.  This param is provided mainly for people who wish to
  543.       put the dialing directory on a RAM-disk.
  544.   XO= The decimal value of the XON character.  Used to control data flow.
  545.       Starts data flow after XOFF has been issued.
  546.   XF= The decimal value of the XOFF character. Used to control data flow. Stops
  547.       data flow when issued. Helps insure that buffer overflow does not occur.
  548.   VT= If TRUE, turns on ANSI emulation, using ANSI escape codes.  If ANSI
  549.       emulation is requested, music will not be played, and will show on the
  550.       screen as text.  This happens because of a conflicit between the full
  551.       ANSI definition and the musical notes.
  552.   LF= Auto Linefeed mode.  If TRUE, then a Linefeed will be automatically
  553.       supplied whenever a Return is recieved.
  554.   FG= The default foreground color number.  Any one of the 16 values in the
  555.       table below.
  556.   BG= The default background color number.  Any one of the DARK shades,
  557.        0-7, from the table below.
  558.   CC= The comment character used with the macro keys.
  559.   MX= Number of Xmodem buffers to allocate. 4 - 255 are the legal values.
  560.       A smaller number should be used on systems with only 128k, larger values
  561.       can be used if more memory is available.  Each buffer takes 128 bytes.
  562.   PC= The Pacing Character.  This is the character echoed by the host at the
  563.       end of each line.  If you set this character, the program will wait for
  564.       it to be echoed by the host at the end of each line during an ASCII
  565.       file transmission.  The default is no Pacing Character.  The
  566.       abbreviations CR and LF may be used in this field to indicate the
  567.       Return and Linefeed characters, as well as the | character for Return.
  568.   EL= End-of-Line Mode.  This determines the line terminating characters sent
  569.       to the host, during ASCII file transmit, to delimit the end-of-line.
  570.       Defaults to CRLF, Return and Linefeed.  The other options are LF, only
  571.       Linefeed, and CR, only Return.
  572.   AD= ASCII inter-character delay.  Specified in milleseconds.  The default
  573.       value is 0.
  574.   WF= Window foreground color number.  Anyone of the 16 values from the table
  575.       below.
  576.   WB= Window background color number.  Anyone of the DARK shades, 0-7, from
  577.       the table below.
  578.   WR= Windowframe foreground color number.  Anyone of the 16 values from the
  579.       table below.
  580.   WS= Windowframe background color number.  Anyone of the DARK shades from
  581.       the table below.
  582.   LG= If TRUE, GT will keep a log of all BBS's called and files transfered.
  583.       Default is FALSE.
  584.   PD= Current phone directory name.  Default is 'GT'.
  585.   RC= Result codes.  The code is defined by the numeric code and the code
  586.       actually returned by the modem.  There are 13 possible codes, only 12
  587.       of which are used.  Example: RC=1,CONNECT
  588.   * = Comment lines.
  589.  
  590. Note: these entries may either be changed via the ALT-I command, or with
  591.       any text editor that produces standard ASCII files, such as EDLIN.
  592.  
  593. For Example:
  594.  
  595.    CM=1                 ;
  596.    ST=1                 ;
  597.    DA=8                 ;
  598.    PA=0                 ;
  599.    BA=1200              ;
  600.    WA=333               ;
  601.    PR=ATDT              ;
  602.    PO=|                 ;
  603.    PF=                  ;
  604.    MI=AT E0 V0 S0=0|    ;
  605.    SY=AT M1|            ;
  606.    SN=AT M0|            ;
  607.    RT=60                ;
  608.    FC=FALSE             ;
  609.    CT=35                ;     The DEFAULT defaults!
  610.    DP=A:\               ;
  611.    XO=17                ;
  612.    XF=19                ;
  613.    VT=FALSE             ;
  614.    LF=FALSE             ;
  615.    FG=15                ;
  616.    BG=0                 ;
  617.    CC=;                 ;
  618.    MX=64                ;
  619.    PC=                  ;
  620.    EL=CRLF              ;
  621.    AD=0                 ;
  622.    WF=7                 ;
  623.    WB=0                 ;
  624.    WR=15                ;
  625.    WS=0                 ;
  626.    LG=FLASE             ;
  627.    PD=GT                ;
  628.    RC=0,0               ;     Numeric result codes returned by
  629.      .                  ;     modem are the default.
  630.      .                  ;     There are 13 different results codes,
  631.      .                  ;     but only 12 are actually used.
  632.    RC=12,12             ;
  633.  
  634.  
  635. Color Number Table:
  636.  
  637. Dark Colors          Light Colors
  638. -----------          ------------
  639.  0 : Black            8 : Dark Gray
  640.  1 : Blue             9 : Light Blue
  641.  2 : Green           10 : Light Green
  642.  3 : Cyan            11 : Light Cyan
  643.  4 : Red             12 : Light Red
  644.  5 : Magenta         13 : Light Magenta
  645.  6 : Brown           14 : Yellow
  646.  7 : Light Gray      15 : White
  647.  
  648.  
  649.  
  650. Received Character Processing - ANSI Emulation Mode.
  651. ----------------------------------------------------
  652. Cursor Up .................................. ESC [ Pn A
  653. Cursor Down ................................ ESC [ Pn B
  654. Cursor Forward ............................. ESC [ Pn C
  655. Cursor Backward ............................ ESC [ Pn D
  656. Cursor Position ............................ ESC [ Pl ; Pc H
  657. Cursor Position (Home) ..................... ESC [ H
  658. Horizontal and Vertical Position ........... ESC [ Pl ; Pc f
  659. Horizontal and Vertical Position (Home) .... ESC [ f
  660. Set Scrolling Region ....................... ESC [ Pt ; Pb r
  661. Set Origin Mode ......see notes below....... ESC [ ? 6 h
  662. Reset Origin Mode .......................... ESC [ ? 6 l
  663. Index ...................................... ESC D
  664. Reverse Index .............................. ESC M
  665. Reverse Linefeed ........................... ESC I
  666. Next Line .................................. ESC E
  667. Save Cursor ................................ ESC 7
  668. Restore Cursor ............................. ESC 8
  669. Cursor Key Mode Set ........................ ESC [ ? 1 h
  670.                                           or ESC =
  671. Cursor Key Mode Reset ...................... ESC [ ? 1 l
  672.                                           or ESC >
  673. Select US Character Set .................... ESC ( B
  674. Select Line Drawing Character Set .......... ESC ( 0
  675. Turn Off Character Attributes .............. ESC [ m
  676. Selects Bold Characters .................... ESC [ 1 m
  677. Selects Underlined Characters .............. ESC [ 4 m
  678. Selects Blinking Characters ................ ESC [ 5 m
  679. Selects Reverse Video Characters ........... ESC [ 7 m
  680. Set Horizontal Tab Stop .................... ESC H
  681. Clear A Horizontal Tab Stop ................ ESC [ g
  682. Clear All Horizontal Tab Stops ............. ESC [ 3 g
  683. Erase From Cursor To End Of Line ........... ESC [ K
  684. Erase From Beginning Of Line To Cursor ..... ESC [ 1 K
  685. Erase Complete Line ........................ ESC [ 2 K
  686. Erase From Cursor To End Of Screen ......... ESC [ J
  687. Erase From Beginning Of Screen To Cursor ... ESC [ 1 J
  688. Erase Complete Display ..................... ESC [ 2 J
  689. Delete Character At Cursor ................. ESC [ Pn P
  690. Insert Line At Cursor ...................... ESC [ Pn L
  691. Delete Line At Cursor ...................... ESC [ Pn M
  692. Select Insert Mode ......................... ESC [ 4 h
  693. Reset Insert Mode .......................... ESC [ 4 l
  694. Turn Printer On ............................ ESC [ ? 5 i
  695. Turn Printer Off ........................... ESC [ ? 4 i
  696. Turn Printer Controller On ................. ESC [ 5 i
  697. Turn Printer Controller Off ................ ESC [ 4 i
  698. Print Screen ............................... ESC [ i
  699. Request Cursor Position Report ............. ESC [ 6 n
  700.        Response: Cursor Position Report .... ESC [ Pl ; Pc R
  701. Request ID ................................. ESC [ c
  702.        Response: Terminal Type ............. ESC [ ? 6 c
  703.  
  704. Notes: ESC is used to represent the escape character, decimal 27.
  705.        Pn represents a variable numeric parameter, the parameter is
  706.        a decimal number transmitted to the program by using ASCII
  707.        characters.  Pl represents the LINE, and Pc represents the
  708.        COLUMN, these are numeric parameters sent using ASCII
  709.        characters.  Pt represents the TOP LINE of a scrolling
  710.        region, and Pb represents the BOTTOM LINE of a scrolling
  711.        region, these are numeric parameters sent using ASCII
  712.        characters.  The spaces shown are for readability, they are
  713.        not sent by the Host.
  714.  
  715.        When "Origin Mode" is set, the cursor is confined to the
  716.        scrolling region.  Whenever a change takes place in the "Origin
  717.        Mode", the cursor is moved to the home position.  The cursor
  718.        is also moved to the home position whenever a change is made
  719.        in the scrolling region.
  720.  
  721.  
  722.  
  723. Transmitted Characters - ANSI Emulation Mode.
  724. ---------------------------------------------
  725. Function Keys .............................. User Programmable.
  726. End ........................................ ESC O R
  727. Ctrl-End ................................... ESC O S
  728. Del ........................................ DEL
  729. Ins ........................................ ESC O n
  730. Home ....................................... ESC [ H
  731. PgUp ....................................... ESC [ O r
  732. PgDn ....................................... ESC [ O q
  733. Shift-Tab .................................. ESC [ O x
  734. Left Arrow ................Normal........... ESC [ C
  735.                            Keypad Mode...... ESC O C
  736. Right Arrow ...............Normal........... ESC [ D
  737.                            Keypad Mode...... ESC O D
  738. Up Arrow ..................Normal........... ESC [ A
  739.                            Keypad Mode...... ESC O A
  740. Down Arrow ................Normal........... ESC [ B
  741.                            Keypad Mode...... ESC O B
  742. Others ..................................... Standard Values.
  743.  
  744. Note: The blanks are included for readability only.
  745.  
  746.  
  747.  
  748. Scripts
  749. -------
  750. The script language allows the user to automate most of the features of
  751. GT.  Folowing is a description of the script syntax.  Several preliminary
  752. comments about scripts: 1) they can be canceled by hitting either Ctrl-C
  753. or Ctrl-K,  2) the strings and other literal information in the syntax
  754. should be enclosed within "..." if they contain white-space, blanks,
  755. tabs or commas, otherwise they need not be so enclosed.  All fields and
  756. operators must be separated on the line by the use of white-space.
  757.  
  758. Scripts are interactive, so that the user can modify them on-the-fly.
  759. In order to do this, 10 variables have been setup, they are called V0
  760. thru V9.  They are referenced in either assignment statements or READLN
  761. statements.  In order to use them, a technique called "variable substitution"
  762. is used.  Instead of the V, the variable number is prefixed with a %, thus
  763. V0 thru V9, become %0 thru %9.  Variable substitution may be done on any
  764. part of any command, the only rule is that the variable must be assigned
  765. a value prior to use, otherwise it will be a null string.  The data in
  766. variables is stored as strings of characters, up to 80 characters long.
  767.  
  768. At the end of this document there is a command summary for the script
  769. commands.  They are listed in alphbetical order in the summary.
  770.  
  771.  
  772. Command         Description and Example
  773. -------         -----------------------
  774. SET             Used to set the serial port parameters: baud rate,
  775.                 parity, data bits and stop bits.
  776.  
  777.                 Example:  SET 1200,N,8,1
  778.                    This would set 1200 baud, no parity, 8 data bits and
  779.                    one stop bit.  Legal baud rate values are: 300, 1200,
  780.                    2400, 4800 and 9600.  Legal parity values are N=none,
  781.                    E=even and O=odd.  Legal data bits are 7 or 8.  Legal
  782.                    stop bits are 1 or 2.
  783.  
  784. ONLINE          Used to exit, temporarily, from script to manual mode.
  785.                 Useful when using a script to call a host and then go
  786.                 into manual operation once connected.
  787.  
  788.                 Example: ONLINE
  789.                    Note, when you press ALT-X, you exit back to the script
  790.                    and script execution begins where it left-off.
  791.  
  792. EXIT            Used to exit the program from within a script.
  793.  
  794.                 Example: EXIT
  795.  
  796. ECHO            Causes script commands to be displayed on the screen
  797.                 as they are executed.  Useful for debugging new scripts.
  798.  
  799.                 Example: ECHO
  800.  
  801. SCREEN          Used to turn-off the screen display, i.e. stop incoming
  802.                 data from appearing during the WAIT command.
  803.  
  804.                 Example: SCREEN OFF
  805.                             turns screen off.
  806.                          SCREEN ON
  807.                             turns screen on.
  808.  
  809. CAPTURE         Used to turn-on Capture Mode from within a script.
  810.                 There are two forms: "CAPTURE" and "CAPTURE filename".
  811.                 The first form is used to begin capturing data, the
  812.                 second form terminates Capture Mode and names the file
  813.                 to receive the captured data.
  814.  
  815.                 Example:
  816.                     CAPTURE               { Begin capturing here }
  817.                         .
  818.                         .
  819.                         .
  820.                     CAPTURE filename      { Finish capturing here }
  821.  
  822. CD              Change directories.
  823.  
  824.                 Example: CD directory
  825.                    Works like the DOS equivalent, except that it has no
  826.                    display function.
  827.  
  828. Drive Change    Change default disk drive.
  829.  
  830.                 Example: C:
  831.                    Works like the DOS equivalent.
  832.  
  833. DUPLEX          Toggle between full and half duplex.  The starting
  834.                 condition is FULL duplex.
  835.  
  836.                 Example: DUPLEX
  837.  
  838. QUIET           Toggle the beeps on and off.  The starting condition is
  839.                 to have beeps ON.
  840.  
  841.                 Example: QUIET
  842.  
  843. PRINT           Toggle the printer on and off.  The printer will run as
  844.                 data is received from the host.  Equivalent to Ctrl-PrtSc.
  845.  
  846.                 Example: PRINT
  847.  
  848. HANG-UP         Used to hang-up the modem.
  849.  
  850.                 Example: HANG-UP
  851.  
  852. BREAK           Used to send a Space Break to the host.  Some hosts
  853.                 will use this to wake-up and logon the user, mostly
  854.                 UNIX systems and other mini-computers.
  855.  
  856.                 Example: BREAK
  857.  
  858. WAIT            Used to make the execution of the script wait for a
  859.                 particular string to be sent from the host.
  860.  
  861.                 Example: WAIT FOR string
  862.                      or: WAIT n FOR string
  863.                    The string may be in "...", if embedded blanks are
  864.                    required.  In the 2nd form, the "n" represents the
  865.                    number of seconds to wait before timing-out the host.
  866.                    Note, the timeout clock only counts down when no data
  867.                    is being sent by the host.  If the first form is used,
  868.                    the default time-out period is 40 seconds.
  869.  
  870. AWAIT           Used to delay execution of the script until the
  871.                 designated time.
  872.  
  873.                 Example: AWAIT hh:mm:ss
  874.                      or: AWAIT 9:45:00
  875.                    The time is formated hours, minutes and seconds, all
  876.                    fields must be entered.
  877.  
  878. TWAIT           Timed wait, in milleseconds.  The maximum wait period
  879.                 is 32767 milleseconds.
  880.  
  881.                 Example: TWAIT number
  882.                    The "number" is the number of milleseconds
  883.                    to delay the execution of the script.
  884.  
  885. SEND            Used to send a string to the host.  The string may
  886.                 contain the | character, which will be changed to a
  887.                 Carriage Return.
  888.  
  889.                 Example: SEND string
  890.                    Again the string may be in "...", if embedded blanks are
  891.                    required.
  892.  
  893. SENDLN          Same as SEND above, but sends a Carriage Return at the
  894.                 end of the string.
  895.  
  896.                 Example: SENDLN string
  897.  
  898. WRITE           Used to write a string to the screen, does not send
  899.                 to the host.
  900.  
  901.                 Example: WRITE string
  902.  
  903. WRITELN         Used to write a string to the screen with a Carriage
  904.                 Return, Linefeed combination at the end of the line,
  905.                 does not send to the host.
  906.  
  907.                 Example: WRITELN string
  908.  
  909. DIAL            Used to dial the modem.
  910.  
  911.                 Example: DIAL phone# WITH REDIAL
  912.                             or
  913.                          DDIAL name WITH REDIAL
  914.                             The phrase WITH REDIAL is optional.
  915.  
  916.                   In the second form, DDIAL, the "name" is found in
  917.                   the user's dialing directory and the parameters for
  918.                   baud rate, and phone number are set automatically.
  919.                   If the "name" cannot be found in the directory, then
  920.                   the script will resume execution after the next END
  921.                   statement, as if the host was unavailable.  The
  922.                   "name" does not have to be complete, it searches for
  923.                   the first BBS name in the directory that contains
  924.                   "name" within it.  Upper and lower case letters are
  925.                   treated the same.
  926.  
  927.                   The commands, following the DIAL or DDIAL command,
  928.                   may be grouped together to form the commands required
  929.                   to access a particular host.  The END command is used
  930.                   to mark the end of such a group.  If a connection
  931.                   cannot be made with the host, then the commands between
  932.                   the DIAL and the END are skipped.  If no END is found,
  933.                   the rest of the commands in the script are skipped.
  934.                   Please refer to the sample script that comes with the
  935.                   documentation.
  936.  
  937. EXCH            Causes the program to exchange directories.  So that
  938.                 more than 1 phone directory may be used.
  939.  
  940.                 Example: EXCH DIRECTORY filename
  941.                    Where the word DIRECTORY is optional.  The filename
  942.                    is the name of the new phone directory.  Note, there
  943.                    is one difference between the script command and the
  944.                    manual, ALT-D, method to do this: this file must exist
  945.                    or an error will occur.  With the manual method, the
  946.                    file will be created, if it does not already exist.
  947.  
  948.                    Note: The filename on the EXCH command must not contain
  949.                          any path information.  The program looks for all
  950.                          phone directories under the "Directory PATH" from
  951.                          the configuration file.  Use the ALT-I command to set.
  952.  
  953. END             Used with DIAL to group commands for a particular host.
  954.  
  955. NAME            Used to name the host that the user is calling.  Shows
  956.                 up on the Redial window.  Used with the DIAL command.
  957.                 Not used with the DDIAL command, because the BBS name
  958.                 from the dialing directory is used.
  959.  
  960.                 Example: NAME string
  961.  
  962. AUTOBAUD        Used after the DIAL or DDIAL command to set the hosts
  963.                 baud rate to the caller's.  The AUTOBAUD command can use
  964.                 the Carriage Return or the blank to set the rate.  Usually,
  965.                 the Carriage Return is used and it is the default, however
  966.                 some systems require the blank.
  967.  
  968.                 Example: AUTOBAUD
  969.                             for Carriage Return use.
  970.                          AUTOBAUD  BLANK
  971.                             for blank use.
  972.  
  973. FLUSH           Flushes the contents of the serial input buffer.
  974.                 Useful prior to an ONLINE or before dialing a new
  975.                 host.
  976.  
  977.                 Example: FLUSH
  978.  
  979. CLEAR           Used to clear the screen and place the cursor in the
  980.                 home position.
  981.  
  982.                 Example: CLEAR
  983.  
  984. BEEP            Causes the speaker to emit a beep.
  985.  
  986.                 Example: BEEP
  987.  
  988. EMULATE         Starts or stops ANSI standard terminal emulation.
  989.  
  990.                 Example: EMULATE TRUE
  991.                             begins emulation.
  992.                          EMULATE FALSE
  993.                             ends emulation.
  994.  
  995. SPLIT           Starts or stops Split-Screen operation.
  996.  
  997.                 Example: SPLIT SCREEN TRUE
  998.                             begins Split-Screen.
  999.                          SPLIT SCREEN FALSE
  1000.                             ends Split-Screen.
  1001.  
  1002. WHEN            Sets up a string to trap out, while waiting with the
  1003.                 WAIT command.  Whenever the indicated string is trapped,
  1004.                 then the response shown will be sent to the host.  This
  1005.                 feature is mostly used to trap the "More" string and send
  1006.                 a Y or N to the host.  If required by the host, a Carriage
  1007.                 Return maybe inserted in the response string by using a
  1008.                 | character.
  1009.  
  1010.                 Example: WHEN "More" THEN "N"
  1011.                    This will keep the WAIT command from getting stuck at
  1012.                    the "More" prompt.  Note: only the most recent WHEN
  1013.                    command remains in effect.
  1014.  
  1015. XMIT            Transmit using the Xmodem protocol.
  1016.  
  1017.                 Example: XMIT filename
  1018.                             Transmits a file to host.
  1019.                          XMIT *.pas
  1020.                             Transmits all files with the .PAS
  1021.                             extension on the default drive to
  1022.                             the host.  Note: the host must be
  1023.                             Modem7 and/or Telink compatible if
  1024.                             wildcards are used.
  1025.  
  1026. YMODEM          Transmit using the Ymodem protocol.
  1027.  
  1028.                 Example: YMODEM XMIT filename
  1029.                             Transmits a file to host, using Ymodem.
  1030.                             The word XMIT is optional.
  1031.  
  1032. RECV            Receive using the Xmodem or Ymodem protocol.  The host
  1033.                 selects which protocol to use and GT complies.
  1034.  
  1035.                 Example: RECV filename
  1036.                             Receives a single file from the host.
  1037.                          RECV *
  1038.                             Receives a batch of files from
  1039.                             the host.  The filenames are
  1040.                             supplied by the host.  Note: the
  1041.                             host must be Modem7 and/or Telink
  1042.                             compatible if the * is used.  In this
  1043.                             form you MUST specify only the * or
  1044.                             the complete filename.
  1045.  
  1046. KERMIT RECV     Receive a batch of files using the Kermit protocol.
  1047.  
  1048.                 Example: KERMIT RECV *
  1049.                             The file names are supplied by the host.
  1050.  
  1051. KERMIT XMIT     Transmit a batch of files to the host using the
  1052.                 Kermit protocol.
  1053.  
  1054.                 Example: KERMIT XMIT filename
  1055.                             Transmit a single file to the host.
  1056.                          KERMIT XMIT *.dat
  1057.                             Transmit all files with the .DAT extension
  1058.                             to the host.  Note: the batch of files
  1059.                             cannot exceed 30 files, otherwise the first
  1060.                             30 files that match the mask are transmitted.
  1061.  
  1062. CALL            Invoke the execution of a nested script.
  1063.  
  1064.                 Example: CALL scriptname
  1065.                    This is alot like subroutines.  The called
  1066.                    script will execute and Return to the calling
  1067.                    script when finished.  Scripts may be nested
  1068.                    in this manner, to any desired depth (assuming
  1069.                    you have enough memory!).  Turbo PASCAL's
  1070.                    ability to process recursive procedures makes
  1071.                    this feature possible.
  1072.  
  1073. CYCLE           When found, it causes the script processor to repeat
  1074.                 execution of the script from the beginning.  For example,
  1075.                 when you wish to make a script to dial a list of BBS's,
  1076.                 then repeat the script when finished it would look like
  1077.                 this:
  1078.  
  1079.                    NAME "xxxxxxxxxxxx"
  1080.                    DIAL "123-4567"
  1081.                       AUTOBAUD
  1082.                       ONLINE
  1083.                    END
  1084.                    NAME "yyyyyyyyyyyy"
  1085.                    DIAL "123-4567"
  1086.                       AUTOBAUD
  1087.                       ONLINE
  1088.                    END
  1089.                       .
  1090.                       .  etc., etc...
  1091.                       .
  1092.                    CYCLE 5 TIMES
  1093.  
  1094.                 The CYCLE command in the example above would cause the
  1095.                 script to repeat 5 times.  If the cycle count is not
  1096.                 specified, then 10 times is the default.  Note: it is
  1097.                 not good practice to put script commands that toggle
  1098.                 between on/off states in a cycled script, unless you
  1099.                 cycle them back to the original state before the CYCLE
  1100.                 command is issued.  Otherwise the command will cycle
  1101.                 on/off from execution to execution.  An example of a
  1102.                 toggle command is DUPLEX or QUIET, you should put them
  1103.                 into initialization scripts and then cycle a CALLed
  1104.                 script.  For example:
  1105.  
  1106.                    Script-a
  1107.                    --------
  1108.                       QUIET                   Toggle beeps off.
  1109.                       ECHO                    Toggle command echoing on.
  1110.                       AWAIT 1:30:00           Wait for 1:30 am.
  1111.                       CALL script-b           Execute script-b.
  1112.  
  1113.                    Script-b
  1114.                    --------
  1115.                       NAME "xxxxxxxxxx"       Name who we are calling.
  1116.                       DIAL "123-4567"         Dial the modem.
  1117.                          .
  1118.                          .                    etc., etc...
  1119.                          .
  1120.                       CYCLE 5 TIMES           Execute script-b 5 times.
  1121.  
  1122. Variable        Variables can be assigned values in 2 ways, thru the
  1123. Assignment      READLN command below, or within the script itself, they
  1124.                 can be assigned values, much the same way it is done in
  1125.                 FORTRAN and other high-level languages.  The syntax is:
  1126.  
  1127.                    Vn = value
  1128.  
  1129.                 For example:
  1130.  
  1131.                    V0 = "the PC Interconnection"
  1132.                    V7 = "772-2090"
  1133.                    V2 = "Johnny Jones"
  1134.  
  1135.                 Note the use of blanks to isolate the "=" from the other
  1136.                 fields, this is REQUIRED.
  1137.  
  1138. READLN          This command is used to read data from the operator into
  1139.                 one of the 10 variables.  The variables have pre-assigned
  1140.                 names: V0 - V9.  The syntax is:
  1141.  
  1142.                    READLN variable_name
  1143.  
  1144.                 For example:
  1145.  
  1146.                    WRITE "Enter desired time to start. (hh:mm:ss): "
  1147.                    READLN V2
  1148.                    AWAIT %2
  1149.  
  1150.                 Notice the %2 in the 3rd line of the example, the % tells
  1151.                 the script processor to do a variable substitution at this
  1152.                 point, so the value input for variable 2 is inserted into
  1153.                 the AWAIT command.  Thus causing the script to pause until
  1154.                 the desired time.
  1155.  
  1156.                    Note: When resonding to a READLN, the user must type the
  1157.                          response followed by a Carriage Return.  If the
  1158.                          user wants to terminate the script at the READLN
  1159.                          command, enter ^C followed by a Carriage Return.
  1160.  
  1161. CASE & ESAC     Those of you familiar with UNIX should recognize the use
  1162.                 of ESAC, case spelled backward.  For the others, ESAC is
  1163.                 used to mark the end of the CASE statement.  The CASE
  1164.                 statement is used to test for truth or falsity of some
  1165.                 condition, for example it could be used to implement a
  1166.                 menu.  The syntax is:
  1167.  
  1168.                    CASE target_value OF
  1169.                       op1  test_value1
  1170.                           statement-1
  1171.                           statement-2
  1172.                             .
  1173.                             .
  1174.                             .
  1175.                       op2  test_value2
  1176.                           statement-1a
  1177.                           statement-2a
  1178.                             .
  1179.                             .
  1180.                             .
  1181.                       .
  1182.                       .
  1183.                       .
  1184.                    ESAC
  1185.  
  1186.                 Where there may be any number of "op" tests and any number
  1187.                 of statements between "op" tests.  The CASE statement will
  1188.                 perform the following test until it reaches the 1st one
  1189.                 that is TRUE, (target_value op test_value), if TRUE then
  1190.                 the statements associated with the test are executed.  ONLY
  1191.                 one set of statements is selected, as soon as they have
  1192.                 completed the remaider are skipped, until the ESAC is
  1193.                 encountered.  Execution continues after the ESAC.  If no
  1194.                 test evaluates to TRUE, then all are skipped and execution
  1195.                 begins after the ESAC.  Possible "op" codes are:
  1196.  
  1197.                    =     Test for equality.
  1198.                    >     Test if target_value greater than test_value.
  1199.                    <     Test if target_value less than test_value.
  1200.                    >=    Test if target_value greater than or equal test_value.
  1201.                    <=    Test if target_value less than or equal test_value.
  1202.                    ?     If no other test prior to this evaluated to be TRUE,
  1203.                          then this will be TRUE.  Usually placed just before
  1204.                          the ESAC. There is no need for a test_value
  1205.                          with this "op" code.  This is a default operator.
  1206.  
  1207.                 For example:
  1208.  
  1209.                    CLEAR
  1210.                    WRITELN
  1211.                    WRITELN "Communications Menu"
  1212.                    WRITELN "-------------------"
  1213.                    WRITELN "1.  Call the PC Interconnection BBS"
  1214.                    WRITELN "2.  Call the Fido's Partner BBS"
  1215.                    WRITELN "3.  Call the Dow-Jones News Retrieval Service"
  1216.                    WRITELN "4.  Call the Compuserve BBS"
  1217.                    WRITELN "5.  Exit to DOS"
  1218.                    WRITELN
  1219.                    WRITE   "Enter your choice. "
  1220.                    READLN V1
  1221.                    CASE %1 OF
  1222.                       = 1
  1223.                          CALL PCINSCRP
  1224.                       = 2
  1225.                          CALL FIDOSCRP
  1226.                       = 3
  1227.                          CALL DOWJSCRP
  1228.                       = 4
  1229.                          CALL COMPSCRP
  1230.                       = 5
  1231.                          WRITELN "Goodbye, and thanks for using your computer."
  1232.                          WAIT 3000
  1233.                          EXIT
  1234.                       ?
  1235.                          WRITELN
  1236.                          BEEP
  1237.                          BEEP
  1238.                          WRITELN "Your only choices are 1 thru 5."
  1239.                          WAIT 10000
  1240.                          CYCLE
  1241.                    ESAC
  1242.  
  1243.                 Notice how all fields are entered with "white space" between
  1244.                 them.  This is required, as "=5" is wrong, and "= 5" is
  1245.                 correct.
  1246.  
  1247. Script Command Summary
  1248. ----------------------
  1249. AUTOBAUD ......... Send a whacking Carriage Return to the host.
  1250. AWAIT ............ Wait for a specified time.
  1251. BEEP ............. Make a short beep on the system speaker.
  1252. BREAK ............ Send a "Space Break" to the host.
  1253. CALL ............. Invoke another script, like subroutines.
  1254. CAPTURE .......... Toggle capture mode ON/OFF.
  1255. CASE ............. Test the value of a variable.
  1256. CD ............... Change disk directories.
  1257. CLEAR ............ Clear the screen.
  1258. CYCLE ............ Repeat execution of the current script.
  1259. DDIAL ............ Dial a host from the phone directory.
  1260. DIAL ............. Dial the specified phone number.
  1261. Drive Change ..... Change the default disk drive.
  1262. DUPLEX ........... Toggle duplex between FULL/HALF.
  1263. ECHO ............. Echo script commands to the screen.
  1264. EMULATE .......... Set ANSI terminal emulation.
  1265. END .............. Groups commands with a DDIAL or DIAL command.
  1266. ESAC ............. Terminates a CASE command.
  1267. EXCH ............. Change to a different phone directory.
  1268. EXIT ............. Used to exit the program.
  1269. FLUSH ............ Throw away the contents of the serial buffers.
  1270. HANG-UP .......... Hang up the modem.
  1271. KERMIT ........... Transmit or receive via Kermit protocol.
  1272. NAME ............. Used with DIAL command to name the host.
  1273. ONLINE ........... Allows user to temporarily leave the script.
  1274. PRINT ............ Toggles the printer ON/OFF.
  1275. QUIET ............ Toggles the beeper ON/OFF.
  1276. READLN ........... Reads input from keyboard into a variable.
  1277. RECV ............. Receive a file via Xmodem, Ymodem or Telink protocols.
  1278. SCREEN ........... Toggle screen output ON/OFF while WAIT is active.
  1279. SEND ............. Send a string to the host.
  1280. SENDLN ........... Send a string to the host, followed by Carriage Return.
  1281. SET .............. Used with DIAL command to manually set comm params.
  1282. SPLIT ............ Set split screen mode.
  1283. TWAIT ............ Timed wait in milleseconds, max wait is 32 seconds.
  1284. Variable Assign .. Assign a value to a variable.
  1285. WAIT ............. Wait for some string to be received from host.
  1286. WHEN ............. Trap a string sent from host and respond.
  1287. WRITE ............ Write a string to the screen.
  1288. WRITELN .......... Write a string to the screen, followed by Carriage Return.
  1289. XMIT ............. Transmit a file via Xmodem or Telink protocols.
  1290. YMODEM ........... Transmit a file via Ymodem protocol.
  1291.